package org.example.javachatroom.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.example.javachatroom.model.Friend;
import org.example.javachatroom.model.MessageSession;
import org.example.javachatroom.model.MessageSessionUserItem;

import java.util.List;

@Mapper
public interface MessageSessionMapper {
    //1、根据userId获取到用户在哪些会话中存在，返回结果是一组sessionId
    List<Integer> getSessionIdsByUserId(int userId);

    //2、根据sessionId再来查询这个会话都包含了哪些用户（排除最初的自己）
    List<Friend> getFriendBySessionId(int sessionId,int selfUserId);

    //3、新增一个会话记录，同时返回会话id
    //这里的方法返回值 int 表示的是插入操作影响到几行，
    // 此处获取sessionId是通过messageSession的sessionId来获取的
    int addMessageSession(MessageSession messageSession);

    //4、给message_user表也去新增对应的记录
    void addMessageSessionUser(MessageSessionUserItem messageSessionUserItem);
}
